// 引入axios
import axios from 'axios'
// 定义baseURL常量--const
const baseURL = 'http://localhost:8888/api/private/v1/'
// 定义基准路径，让接口先找到服务器，在找到接口api
axios.defaults.baseURL = baseURL
// 设置axios拦截器---主要是判断token是否有--在请求头中设置,拦截器也是自动触发的
axios.interceptors.request.use(function (config) {
  // 发送前处理函数
  var token = localStorage.getItem('mytoken')
  if (token) {
    // 请求头必须设置为Authorization=token (token为登录成功
    config.headers['Authorization'] = token
  }
  return config
}, function (error) {
  // Do something with request error
  return Promise.reject(error)
})

// 用户登录验证--暴露函数对象，并定义一个常量（const--防止被更改）
export const login = (params) => {
  //    返回一个函数对象（axios请求）给Login.vue自己处理--axios.post(路径,参数).then(回调函数)
  return axios.post('login', params).then((res) => {
    return res.data
  })
}
// 添加用户接口
export const addUser = (params) => {
  return axios.post('users', params).then((res) => {
    return res.data
  })
}
// 编辑用户接口
export const editUser = (params) => {
  return axios.put(`users/${params.id}`, params).then((res) => {
    return res.data
  })
}
// 删除单个用户接口
export const deleteUser = (id) => {
  return axios.delete(`users/${id}`).then((res) => {
    return res.data
  })
}
// 修改用户状态接口
export const changUserstatus = (params) => {
  return axios.put(`users/${params.id}/state/${params.mg_state}`).then((res) => {
    return res.data
  })
}
// 获取角色列表接口
export const getroles = () => {
  return axios.get('roles').then((res) => {
    return res.data
  })
}
// 分配用户角色接口
export const allotroles = (params) => {
  return axios.put(`users/${params.id}/role`, {rid: params.rid}).then((res) => {
    return res.data
  })
}
// 发送用户管理请求
export const getalluseLis = (params) => {
  // 返回pormis对象---发送axios请求获取的是promise对象
  return axios.get('users', {params: params}).then((res) => {
    return res.data
  })
}
// 所有权限列表接口
export const getallrightList = (type) => {
  // 返回pormis对象---发送axios请求获取的是promise对象
  return axios.get(`rights/${type}`).then((res) => {
    return res.data
  })
}
// 删除角色指定权限
export const deleteUserRole = (roleid, rightid) => {
  return axios.delete(`roles/${roleid}/rights/${rightid}`).then((res) => {
    return res.data
  })
}
// 角色授权接口
export const setuserRight = (params) => {
  return axios.post(`roles/${params.roleid}/rights`, {rids: params.rids}).then((res) => {
    return res.data
  })
}
// 左侧菜单权限
export const showleftmenus = () => {
  // 返回pormis对象---发送axios请求获取的是promise对象
  return axios.get('menus').then((res) => {
    return res.data
  })
}
// 添加角色接口
export const addUserright = (params) => {
  return axios.post('roles', params).then((res) => {
    return res.data
  })
}
// 商品数据列表接口
export const getcategoriesList = (type) => {
  // 返回pormis对象---发送axios请求获取的是promise对象
  return axios.get('categories', {params: {'type': type}}).then((res) => {
    return res.data
  })
}
// 添加分类接口
export const addcategories = (params) => {
  return axios.post('categories', params).then((res) => {
    return res.data
  })
}
// 添加商品接口
export const addgoods = (params) => {
  return axios.post('goods', params).then((res) => {
    return res.data
  })
}
// 商品列表数据
export const GetgoodsList = (params) => {
  return axios.get('goods', {params: params}).then((res) => {
    return res.data
  })
}
